Skip to content

Add FSTAR_USE_KRML_EXE; migrate from KRML_HOME to KRML_EXE#4349

Merged
mtzguido merged 2 commits into
FStarLang:masterfrom
tahina-pro:_taramana_krml_home_to_exe
Jul 16, 2026
Merged

Add FSTAR_USE_KRML_EXE; migrate from KRML_HOME to KRML_EXE#4349
mtzguido merged 2 commits into
FStarLang:masterfrom
tahina-pro:_taramana_krml_home_to_exe

Conversation

@tahina-pro

Copy link
Copy Markdown
Member

This PR adds support for FSTAR_USE_KRML_EXE=1, which skips building the karamel/ submodule and instead uses an existing Karamel executable given by the KRML_EXE environment variable. The default behavior (building the submodule) is unchanged.

This PR also migrates the Pulse test Makefiles and the rest of the tree from KRML_HOME to KRML_EXE:

  • Makefile: guard the Karamel build with FSTAR_USE_KRML_EXE; skip the per-stage Karamel install in that mode; pass KRML_EXE (not KRML_HOME) to the Pulse test/accept targets. The in-tree default points at the installed executable, karamel/out/bin/krml.
  • Pulse dice/cbor examples: use KRML_EXE, and krml -locate-include / -locate-krmllib for C include paths. These paths (and KRML_EXE itself) are quoted at every use site so they tolerate whitespace in the location (e.g. Windows).
  • pulse/mk/locate.mk: drop the KRML_HOME fallback (default to krml).

Inspired by project-everest/everparse#298.

@tahina-pro
tahina-pro requested a review from mtzguido July 7, 2026 03:34
tahina-pro added a commit to tahina-pro/quackyducky that referenced this pull request Jul 14, 2026
@mtzguido
mtzguido force-pushed the _taramana_krml_home_to_exe branch from 87f9319 to 88204f9 Compare July 16, 2026 00:37
@mtzguido

Copy link
Copy Markdown
Member

Tweaked it a bit, LGTM.

tahina-pro and others added 2 commits July 15, 2026 17:37
Add support for FSTAR_USE_KRML_EXE=1, which skips building the karamel/
submodule and instead uses an existing Karamel executable given by the
KRML_EXE environment variable. The default behavior (building the
submodule) is unchanged.

Migrate the Pulse test Makefiles and the rest of the tree from KRML_HOME
to KRML_EXE:
- Makefile: guard the karamel build with FSTAR_USE_KRML_EXE; skip the
  per-stage karamel install in that mode; pass KRML_EXE (not KRML_HOME)
  to the Pulse test/accept targets. The in-tree default points at the
  installed executable, karamel/out/bin/krml.
- Pulse dice/cbor examples: use KRML_EXE, and `krml -locate-include` /
  `-locate-krmllib` for C include paths. These paths (and KRML_EXE
  itself) are quoted at every use site so they tolerate whitespace in
  the location (e.g. C:\Program Files on Windows).
- pulse/mk/locate.mk: drop the KRML_HOME fallback (default to `krml`).
- examples/tactics(+bench), pulse2rust/dpe, pulse CI workflow,
  devcontainer Dockerfile, docker/advance build scripts, and docs.

Inspired by project-everest/everparse#298.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@mtzguido
mtzguido force-pushed the _taramana_krml_home_to_exe branch from 88204f9 to dd60dc9 Compare July 16, 2026 00:37
@mtzguido
mtzguido enabled auto-merge July 16, 2026 00:37
@mtzguido
mtzguido merged commit e680c78 into FStarLang:master Jul 16, 2026
3 checks passed
@tahina-pro

Copy link
Copy Markdown
Member Author

Thanks a lot Guido!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants